// ++++++++++++++++++++++++++++++++++++++++
// 《Go 语言+Vue.js 实战派——基于 Gin 框架》源码
// ++++++++++++++++++++++++++++++++++++++++
// 作者公众号：源码大数据
// 自媒体账号（抖音、视频号、快手、B站、知乎）：廖显东-ShirDon
// 仓库地址：https://gitee.com/shirdonl/goGinVue.git
// 仓库地址：https://github.com/shirdonl/goGinVue.git
// 博客：https://www.shirdon.com
// 购买图书：https: //item.jd.com/14958064.html
// ++++++++++++++++++++++++++++++++++++++++

package main

import (
	"net/http"

	"github.com/gin-gonic/gin"
)

type Customer struct {
	Name string `json:"name"`
	Age  int    `json:"age"`
}

// 使用 JSON 数据处理 POST 请求
func createCustomerHandler(c *gin.Context) {
	var customer Customer
	if err := c.ShouldBindJSON(&customer); err != nil {
		c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
		return
	}
	//处理客户数据
	c.JSON(http.StatusOK, gin.H{"message": "Customer created successfully", "customer": customer})
}

func main() {
	//创建一个新的 Gin 路由器
	r := gin.Default()

	//定义路由及其处理程序
	r.POST("/createCustomer", createCustomerHandler)

	//在端口 8080 上启动服务器
	if err := r.Run(":8080"); err != nil {
		panic("Failed to start the server")
	}
}
